package com.ybox.app.mapper;

import com.ybox.app.api.domain.AppCollectArticle;
import com.ybox.app.domain.AppCollect;
import com.ybox.app.domain.example.AppCollectArticleExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface AppCollectArticleMapper {
    /**
     * countByExample
     *
     * @param example example
     * @return long long
     */
    long countByExample(AppCollectArticleExample example);

    /**
     * deleteByExample
     *
     * @param example example
     * @return int int
     */
    int deleteByExample(AppCollectArticleExample example);

    /**
     * deleteByPrimaryKey
     *
     * @param articleId articleId
     * @return int int
     */
    int deleteByPrimaryKey(String articleId);

    /**
     * insert
     *
     * @param row row
     * @return int int
     */
    int insert(AppCollectArticle row);

    /**
     * insertSelective
     *
     * @param row row
     * @return int int
     */
    int insertSelective(AppCollectArticle row);

    /**
     * selectByExampleWithBLOBs
     *
     * @param example example
     * @return List<AppCollectArticle> List<AppCollectArticle>
     */
    List<AppCollectArticle> selectByExampleWithBLOBs(AppCollectArticleExample example);

    /**
     * selectByExample
     *
     * @param example example
     * @return List<AppCollectArticle> List<AppCollectArticle>
     */
    List<AppCollectArticle> selectByExample(AppCollectArticleExample example);

    /**
     * selectByPrimaryKey
     *
     * @param articleId articleId
     * @return AppCollectArticle AppCollectArticle
     */
    AppCollectArticle selectByPrimaryKey(String articleId);

    /**
     * updateByExampleSelective
     *
     * @param row     row
     * @param example example
     * @return int int
     */
    int updateByExampleSelective(@Param("row") AppCollectArticle row, @Param("example") AppCollectArticleExample example);

    /**
     * updateByExampleWithBLOBs
     *
     * @param row     row
     * @param example example
     * @return int int
     */
    int updateByExampleWithBLOBs(@Param("row") AppCollectArticle row, @Param("example") AppCollectArticleExample example);

    /**
     * updateByExample
     *
     * @param row     row
     * @param example example
     * @return int int
     */
    int updateByExample(@Param("row") AppCollectArticle row, @Param("example") AppCollectArticleExample example);

    /**
     * updateByPrimaryKeySelective
     *
     * @param row row
     * @return int int
     */
    int updateByPrimaryKeySelective(AppCollectArticle row);

    /**
     * updateByPrimaryKeyWithBLOBs
     *
     * @param row row
     * @return int int
     */
    int updateByPrimaryKeyWithBLOBs(AppCollectArticle row);

    /**
     * updateByPrimaryKey
     *
     * @param row row
     * @return int int
     */
    int updateByPrimaryKey(AppCollectArticle row);

    int updateBatch(List<AppCollectArticle> list);

    int updateBatchSelective(List<AppCollectArticle> list);

    List<AppCollectArticle> selectCollectArticleList(AppCollectArticle appCollectArticle);

    Map<String, Integer> selectCount(Long userId);

    List<AppCollectArticle> selectNoneCollectId(AppCollectArticle appCollectArticle);
}